<?php
/**
 * используется для обработки только что загруженных файлов, т.е. тех которые еще нигде не сохранены
 */
class VA_Form_File_UploadedFile {
  private $file = null;
  /**
   *
   * @param array $file Элемент массива $_FILES
   */
  public function  __construct($file) {
    if(empty ($file))
      throw new Exception('given nothing');
    $this->file = $file;
  }
  public function isValid() {
    if(is_uploaded_file($this->file['tmp_name']))
      return true;
    return false;
  }
  public function extension() {
    if(FALSE === ($p = strrpos('.', $this->file['name'])))
      return '';
    return substr($this->file['name'], $p+1);
  }
  public function filename() {
    return $this->file['name'];
  }
  public function filenameWOExtension() {
    if(FALSE === ($p = strrpos('.', $this->file['name'])))
      return $this->file['name'];
    return substr($this->file['name'], 0, strlen($this->file['name'])-$p);
  }
  public function tmpName() {
    return $this->file['tmp_name'];
  }

  public function encodestring($st) {
    $st = str_replace(array(' ','/','"','\\'), '', $st);
    // Сначала заменяем "односимвольные" фонемы.
    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_", "abvgdeeziyklmnoprstufh'iei");
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_", "ABVGDEEZIYKLMNOPRSTUFH'IEI");
    // Затем - "многосимвольные".
    $st=strtr($st,
            array(
            "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
            "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
            "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
            "Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
            "ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
            )
    );
    return $st;

  }

}